﻿using System;
using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoTipoAssunto
    {
        public TipoAssunto Inserir(TipoAssunto tipoAssunto, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(tipoAssunto, usuarioPermissao);
        }

        public TipoAssunto Atualizar(TipoAssunto tipoAssunto, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(tipoAssunto, usuarioPermissao);
        }

        public void Excluir(TipoAssunto tipoAssunto, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(tipoAssunto, usuarioPermissao);
        }

        public TipoAssunto ObterTipoAssuntoPorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTipoAssuntoPorId(id, usuarioPermissao);
        }

        public TipoAssunto ObterTipoAssuntoPorCodigo(Usuario usuarioPermissao, string codigo)
        {
            return Fachada.GetInstancia().ObterTipoAssuntoPorCodigo(usuarioPermissao, codigo);
        }

        public TipoAssunto ObterTipoAssuntoPorDescricao(Usuario usuarioPermissao, string descricao)
        {
            return Fachada.GetInstancia().ObterTipoAssuntoPorDescricao(usuarioPermissao, descricao);
        }

        public IList<TipoAssunto> ObterTodosTipoAssuntos(Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTodosTipoAssuntos(usuarioPermissao);
        }

        public IList<TipoAssunto> ObterTodosTiposAssuntos(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao,
          string codigo, string descricao, DateTime? inicioVigenciaDe, DateTime? inicioVigenciaAte, DateTime? fimVigenciaDe,
          DateTime? fimVigenciaAte)
        {
            return Fachada.GetInstancia().ObterTodosTiposAssuntos(inicio, quantidade, quantidadeMinima, usuarioPermissao, codigo,
                descricao, inicioVigenciaDe, inicioVigenciaAte, fimVigenciaDe, fimVigenciaAte);

        }
    }
}